有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用Lucene/Solr和Spring数据

我正在使用Spring Data(Mongo)开发我的web应用程序(靠近社交网站)。现在,我希望为应用程序中编写的内容(如帖子、标签、朋友等)提供搜索功能

我相信Lucene/Solr是处理此类情况的更好的库之一,但我不确定如何使用(集成?)它使用Spring数据(或者Spring内部对它有一些固有的支持)

如果您能在这方面提供帮助(文档、链接、博客帖子等),我们将不胜感激


共 (4) 个答案

  1. # 2 楼答案

    集成它们相对容易,困难的部分是维护它们之间的数据一致性。例如,您将如何回答以下问题:

    • 您打算如何以及何时与mongo和sorl一起执行CRUD?你是否先给Mongo写信(有/没有等待确认?)然后是索尔
    • 如果您对mongo使用异步写入,那么当您将数据发送到solr,然后获得mongo的异常(solr中存在数据,但mongo中不存在数据)时会发生什么
    • 如果在尝试写入solr时出错(数据存在于mongo中,但不存在于solr中),会发生什么
    • 如果你从mongo中删除了一些东西,然后有人执行搜索,solr会返回被删除的文档,因为solr stil已经为该文档编制了索引

    关键是会出现一个不一致窗口,mongo和solr不同步,您可能希望至少处理一些问题

  2. # 3 楼答案

    Spring Data for Solr项目提供了一个类似于Spring的自然数据API,用于从Solr查询数据。阅读examples快速浏览

  3. # 4 楼答案

    我在这里找到一本好书——{a1}——一针见血